<!DOCTYPE html>
<html>
<head>
    <title>Lambert材质</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery.min.js"></script>
    <script type="text/javascript" src="../js/three.js"></script>
    <script>
        /* Lambert材质:是符合Lambert光照模型的材质。Lambert光照模型的主要特点是
        *考虑漫反射而不考虑镜面放射的效果，因而对于金属、镜子等需要镜面放射效果
        *的物体就不适应，对于其他大部分物体的漫反射效果都适用的。
        *   MeshLambertMaterial()
        *   color:用来表示材质对散射光的反射能力，也是最常用来设置材质颜色的属性。
        *   ambient:表示对环境光的反射能力，只有当设置了AmbientLight后，该值才是有效的，
        *材质对环境光的反射能力与环境光强相乘后得到材质实际表现的颜色。
        *   emissive:是材质的自发光颜色，可以用来表现光源的颜色。
        * */
        function init(){
            var renderer = new THREE.WebGLRenderer({
                canvas:document.getElementById('mainCanvas')
            });
            renderer.setClearColor(0x000000);
            var scene = new THREE.Scene();

            var camera = new THREE.OrthographicCamera(-5,5,3.75,-3.75,0.1,100);
            camera.position.set(25,25,25);
            camera.lookAt(new THREE.Vector3(0,0,0));
            scene.add(camera);

            //光源
            var light = new THREE.PointLight(0xfffff,1,100);
            light.position.set(10,15,5);
            scene.add(light);
            //MeshLambertMaterial()
            var material = new THREE.MeshLambertMaterial({
                color:0xffff00,
                emissive:0xff0000
            });

            var cube = new THREE.Mesh(new THREE.SphereGeometry(3,100,100),material);
            scene.add(cube);

            renderer.render(scene,camera);
        }
    </script>
</head>
<body onload="init()">
    <canvas id="mainCanvas" style="width: 400px;height:300px;"></canvas>
</body>
</html>